package com.yaofeng.mybatis.modules.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yaofeng.mybatis.modules.sys.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author yaofeng
 * @since 2019-08-30
 */
public interface IUserService extends IService<User> {

    /**
     * 用户登录认证
     * @param loginName      账号
     * @param userPassword   密码
     * @return
     */
    Object login(String loginName, String userPassword) throws  Exception;

    /**
     * 退出登录
     */
    void logOut();


    /**
     * 保存用户信息
     * @param user
     */
    void saveUser(User user);

    /**
     * 自定义分页查询
     * @param page
     * @param params
     * @return
     */
    IPage<User> selectPage(Page<User> page, Map<String,Object> params);

    /**
     * 更新用户
     * @param user
     */
    void updateUser(User user);

    /**
     * 删除用户
     * @param id
     */
    void deleteUser(Long id);
}
